package com.ruicar.afs.cloud.manage.insurance.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @description: 保险业务模板信息
 * @author xudongdong
 * @date 2020-06-12
 */

@Data
public class InsuranceTemplateInfo {
    /** 合同编号 */
    @ApiModelProperty("合同编号")
    private String contractNo;
    /** 车辆编号 */
    @ApiModelProperty("车辆编号")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long carId;
    /** 车架号 */
    @ApiModelProperty("车架号")
    private String carVin;
    /** 发动机号 */
    @ApiModelProperty("发动机号")
    private String engineNo;
    /** 报案号 */
    @ApiModelProperty("报案号")
    private String reportNum;
    /** 出险日期 */
    @ApiModelProperty("出险日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format="yyyy-MM-dd")
    private Date riskDate;
    /** 赔偿款类型;全部，第三者部分 */
    @ApiModelProperty("赔偿款类型")
    private String reparationType;
    /** 支付目标账户 */
    @ApiModelProperty("支付目标账户")
    private String payTargetAccount;
    /** 支付金额 */
    @ApiModelProperty("支付金额")
    private BigDecimal paymentAmount;
    /** 授权内容 */
    @ApiModelProperty("授权内容")
    private String licensedContent;
    /** 退保原因 */
    @ApiModelProperty("退保原因")
    private String reasonsSurrender;
    /** 批改原因 */
    @ApiModelProperty("批改原因")
    private String reasonCorrection;
    /** 结束日期 */
    @ApiModelProperty("结束日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format="yyyy-MM-dd")
    private Date endDate;
    /** 客户姓名 */
    @ApiModelProperty("客户姓名")
    private String custName;
    /** 证件号码 */
    @ApiModelProperty("证件号码")
    private String certNo;
    /** 商业险保单号 */
    @ApiModelProperty("商业险保单号")
    private String insureNumCom;
}
